require("./category.less")

var indexList = require('./categoryList.string');
var _util = require("util/util.js");
var _product = require("service/product-service.js")
var pagination = require("../common/pagination.string")


var page = {
  init: function () {
    this.loadPage();
    this.bindEvent();
  },
  loadPage: function (a, b) {
    var pNum = arguments[0] ? a : 1;
    var pSize = arguments[1] ? b : 6;
    var _this = this;
    var keyword = _util.getUrlParam("keyword") || '';
    var categoryId = _util.getUrlParam("categoryId") || '';
    var orderBy = _util.getUrlParam("orderBy") || '';
    var content = _util.getUrlParam("content") || '';
    var data = {
      keyword: keyword,
      categoryId: categoryId,
      orderBy: orderBy,
      pageSize: pSize,
      pageNum: pNum
    }
    if (keyword != '' && keyword != null) {
      _this.navActive(content);
      _product.search(data, function (res) {
        var indexListHtml = _util.renderHtml(indexList, res);
        $("#categoryContent").html(indexListHtml);
        if (res.size) {
          // 渲染分页
          var paginaitionHtml = _util.renderHtml(pagination, res);
          $("#naginationNav").html(paginaitionHtml);
          $(function () {
            var next = $("#paginationNext");
            var before = $("#paginationBefore");
            var removed = "<li class='page-item disabled' id='paginationNext'><a class='page-link' href='#'>...</a></li>"
            // 下一页
            if (!res.isLastPage) {
              next.unbind();
              next.removeClass('disabled');
              next.one("click", function () {
                page.loadPage(res.nextPage, res.pageSize);
                return false;
              })
            } else {
              next.addClass('disabled');
            }
            // 上一页
            if (!res.isFirstPage) {
              before.unbind();
              before.removeClass('disabled');
              before.one("click", function () {
                page.loadPage(res.prePage, res.pageSize);
                return false;
              })
            } else {
              before.addClass('disabled');
            }
            for (var i = 1; i < $(".page-item").length - 1; i++) {
              // 给当前页分页添加active
              if ($(".page-item").eq(i).text() == res.pageNum) {
                $(".page-item").eq(i).addClass("active");
              }
              // 给链接添加点击事件					
              $(".page-item").eq(i).one("click", function () {
                page.loadPage($(this).text(), res.pageSize);
                return false;
              })
            }
          })
        }
      }, function (err) {
        console.log(err)
      })
    } else if (categoryId != '' && categoryId != null) {
      _this.navActive(content);
      _product.search(data, function (res) {
        var indexListHtml = _util.renderHtml(indexList, res);
        $("#categoryContent").html(indexListHtml);
        if (res.size) {
          // 渲染分页
          var paginaitionHtml = _util.renderHtml(pagination, res);
          $("#naginationNav").html(paginaitionHtml);
          $(function () {
            var next = $("#paginationNext");
            var before = $("#paginationBefore");
            var removed = "<li class='page-item disabled' id='paginationNext'><a class='page-link' href='#'>...</a></li>"
            // 下一页
            if (!res.isLastPage) {
              next.unbind();
              next.removeClass('disabled');
              next.one("click", function () {
                page.loadPage(res.nextPage, res.pageSize);
                return false;
              })
            } else {
              next.addClass('disabled');
            }
            // 上一页
            if (!res.isFirstPage) {
              before.unbind();
              before.removeClass('disabled');
              before.one("click", function () {
                page.loadPage(res.prePage, res.pageSize);
                return false;
              })
            } else {
              before.addClass('disabled');
            }
            for (var i = 1; i < $(".page-item").length - 1; i++) {
              // 给当前页分页添加active
              if ($(".page-item").eq(i).text() == res.pageNum) {
                $(".page-item").eq(i).addClass("active");
              }
              // 给链接添加点击事件					
              $(".page-item").eq(i).one("click", function () {
                page.loadPage($(this).text(), res.pageSize);
                return false;
              })
            }
          })
        }
      }, function (err) {
        console.log(err)
      })
    } else {
      _this.navActive(content);
      _product.getProductList(data, function (res) {
        var indexListHtml = _util.renderHtml(indexList, res);
        $("#categoryContent").html(indexListHtml);
        if (res.size) {
          // 渲染分页
          var paginaitionHtml = _util.renderHtml(pagination, res);
          $("#naginationNav").html(paginaitionHtml);
          $(function () {
            var next = $("#paginationNext");
            var before = $("#paginationBefore");
            var removed = "<li class='page-item disabled' id='paginationNext'><a class='page-link' href='#'>...</a></li>"
            // 下一页
            if (!res.isLastPage) {
              next.unbind();
              next.removeClass('disabled');
              next.one("click", function () {
                page.loadPage(res.nextPage, res.pageSize);
                return false;
              })
            } else {
              next.addClass('disabled');
            }
            // 上一页
            if (!res.isFirstPage) {
              before.unbind();
              before.removeClass('disabled');
              before.one("click", function () {
                page.loadPage(res.prePage, res.pageSize);
                return false;
              })
            } else {
              before.addClass('disabled');
            }
            for (var i = 1; i < $(".page-item").length - 1; i++) {
              // 给当前页分页添加active
              if ($(".page-item").eq(i).text() == res.pageNum) {
                $(".page-item").eq(i).addClass("active");
              }
              // 给链接添加点击事件					
              $(".page-item").eq(i).one("click", function () {
                page.loadPage($(this).text(), res.pageSize);
                return false;
              })
            }
          })
        }
      }, function (err) {
        console.log(err);
      })
    }
  },
  bindEvent: function () {
    $(document).on('click', '.sortBtns a', function () {
      $(this).siblings().removeClass('active');
      $(this).addClass('active');
      var sortDirection = $(this).data('sort');
      // 然后根据这个按钮控制升降序
    });

    $(document).on("click", "#price-asc", function () {
      var keyword = _util.getUrlParam("keyword") || '';
      var categoryId = _util.getUrlParam("categoryId") || '';
      var content = _util.getUrlParam("content") || '';
      window.location.href = "./category.html?keyword=" + keyword + "&categoryId=" +
        categoryId + "&orderBy=price_asc&content=" + content;
    })
    $(document).on("click", "#price-desc", function () {
      var keyword = _util.getUrlParam("keyword") || '';
      var categoryId = _util.getUrlParam("categoryId") || '';
      var content = _util.getUrlParam("content") || '';
      window.location.href = "./category.html?keyword=" + keyword + "&categoryId=" +
        categoryId + "&orderBy=price_desc&content=" + content;
    })
  },
  navActive: function (content) {
    var category = $("#category-div").children();
    if (content == '心理学入门') {
      category.eq(1).children().addClass('active');
    } else if (content == '青少年心理学') {
      category.eq(2).children().addClass('active');
    } else if (content == '应用心理学') {
      category.eq(3).children().addClass('active');
    } else if (content == '认知心理学') {
      category.eq(4).children().addClass('active');
    } else if (content == '生理心理学') {
      category.eq(5).children().addClass('active');
    } else if (content == '社会心理学') {
      category.eq(6).children().addClass('active');
    } else {
      category.eq(0).children().addClass('active');
    }
  }
}
$(function () {
  page.init();
})